package cn.demoncat.util.sec;

import java.security.Security;

import org.bouncycastle.jce.provider.BouncyCastleProvider;

/**
 * 密钥管理器
 * 
 * 1、使用BouncyCastleProvider，提供更多加密算法支持
 * 
 * 2、大部分加密工具类，应继承或调用本类，以确保加密前已加载本类并注册BouncyCastle到系统中
 * 
 * @author 延晓磊
 *
 * @since 2020年6月6日
 */
public class SecurityUtil {

	// 名称(为了确保调用时加载类并执行static{}，不能使用final static)
	public static String PROVIDER_NAME = BouncyCastleProvider.PROVIDER_NAME;
	// 单例
	public static BouncyCastleProvider PROVIDER = new BouncyCastleProvider();
	
	
	static {
		// 注册到安全管理器
		Security.addProvider(PROVIDER);
	}
	
	/**
	 * 加载BouncyCastleProvider，提供更多的加密支持
	 * 
	 * @author 延晓磊
	 *
	 * @since 2020年6月6日
	 */
	public static void initProvider() {
		// 空方法，调用只是确保本类加载，并完成BouncyCastle的注册
	}
	
}
